/*
* ECARX Technology Limited is the owner of the copyright and the trade secret of this software.
* Without permission, no one has the right to obtain, disclose or use this software in any way.
*/

package ecarx.eas.notification.interfaces;

import android.service.notification.StatusBarNotification;

import ecarx.eas.notification.StatusBarTyrantNotification;

/**
 * FileName: OnNotificationListener.java <br>
 * Description : 监听通知到达和取消 <br>
 * Create Time: 2019/12/26 11:17 <br>
 * Update Time: 2021/8/3 14:07 <br>
 *
 * @since 1.0.0
 */
public interface OnNotificationListener {

    /**
     * 接收通知消息
     * <p> 客户端接收通知消息入口 <br>
     *
     * @param notification {@link StatusBarNotification} 通知数据
     * @since 1.0.0
     */
    void onNotificationPosted(StatusBarNotification notification);

    /**
     * 取消通知消息
     * <p> 客户端取消通知消息入口 <br>
     *
     * @param notification {@link StatusBarNotification} 通知数据
     * @since 1.0.0
     */
    void onNotificationRemoved(StatusBarNotification notification);

    /**
     * 接收霸屏通知消息
     * <p> 客户端接收霸屏通知消息入口 <br>
     *
     * @param notification {@link StatusBarTyrantNotification} 通知数据
     * @since 1.0.0
     */
    void onTyrantNotificationPost(StatusBarTyrantNotification notification);

    /**
     * 取消霸屏通知消息
     * <p> 客户端取消霸屏通知消息入口 <br>
     *
     * @param notification {@link StatusBarTyrantNotification} 通知数据
     * @since 1.0.0
     */
    void onTyrantNotificationRemoved(StatusBarTyrantNotification notification);
}
